Semi-conductor apparatuses, such as integrated circuits, are constructed from electronic components formed on semiconductor materials and interconnected with circuit wiring. A network of these circuit wirings may connect a group of components and provide the components with power at a particular voltage level. An integrated circuit may have more than one group of components, where each group of components is designed to operate at a different voltage level. For example, a first group of components may be designed to operate at a first voltage level, and a second group of components may be designed to operate at a second, different voltage level. Integrated circuits that are designed with groups of components operating at more than one voltage level are said to have multiple power domains, where each power domain is associated with a particular voltage level. In operation, a particular power domain may be selectively powered up or down by controlling power to the network of circuit wirings connecting the group of components in that power domain.
The network of circuit wirings described above may be formed during a typical integrated circuit manufacturing process, where conductive material is deposited in a pattern onto a surface of a semiconductor material to electrically connect components such as circuit elements formed using the semiconductor material. Multiple layers of these patterns of conductive material, referred to as “metal layers,” are often required to connect all pins of the circuit elements.
Before any integrated circuit can be manufactured, a layout of the integrated circuit must be created. Typically, an algorithm in a software program referred to as a router is used to create the layout. The layout also includes placement information for each component in the integrated circuit in addition to their respective interconnecting nets. In operation, the router is provided with a set of pins that are the input/output for the components, where each pin is associated with a net. The task of the router is to then plan the routing of the network of circuit wirings that will be deposited during manufacturing so that pins for components associated with the same net and power domain can be electrically linked.
As the amount of functionality demanded of integrated circuits used in modern devices such as smart phones continues to increase, designers are challenged to ensure that a layout that includes placement of all components and routing of all nets will obey manufacturing and design rules and constraints. One such constraint is related to a minimal distance a signal may travel before it deteriorates. For example, a signal originating at one location of an integrated circuit may need to be propagated along a net that has been routed across the integrated circuit. Typically, the propagation is achieved by using buffer circuits to receive and regenerate the signal at various locations along that net. In terms of functionality, the buffer circuit referred to herein may be thought of as a repeater because the buffer circuit is configured to regenerate a received signal that may have deteriorated because of the distance it has traveled before reaching the buffer circuit. Without buffering, the signal may only be able to travel a portion of the net because of degradation.
An issue that arises in multi-power domain integrated circuit designs is the buffering of nets that must be routed through an area having circuit elements belonging to a first power domain, where the nets to be buffered belong to a second, and different power domain. The nets may need to be so routed because of timing, transition and wire length constraints demanding a shortest path through a particular region of the integrated circuit. These nets can be buffered by placement of second power domain buffers in the area of the first power domain. However, routing congestion is significantly increased because the circuitry needed to power these buffers at the second power domain are routed in the same area needed for routing of circuitry associated with the first power domain. Furthermore, it is very difficult to allocate and use resources efficiently in this approach.
Accordingly, there is a need for an approach of buffering nets that belong to a second voltage or power domain in co-existence with circuit blocks operating at a first voltage or power domain in order to meet time, transition and wire length requirements for signals traveling over these nets as well as preventing routing congestion due to buffering requirements.